home *** CD-ROM | disk | FTP | other *** search
/ Software Vault: The Gold Collection / Software Vault - The Gold Collection (American Databankers) (1993).ISO / cdr31 / ifl150.zip / IFL.DOC < prev    next >
Text File  |  1993-05-01  |  18KB  |  443 lines

  1.  
  2.  
  3.  
  4.       Interior File Listing Utility            11/26/89           Version 1.50
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.                                         IFL
  13.                            Interior File Listing Utility
  14.               Copyright 1989 by Martin Pollard.  All rights reserved.
  15.  
  16.  
  17.  
  18.       This  program may be freely copied and distributed, provided it  is  for
  19.       personal,  non-profit use only.  I am asking for no monetary  donations;
  20.       thus, this program is truly Freeware.  I only ask that, if  distributed,
  21.       the  program  and  documentation  not  be  altered  in  any  way.   Your
  22.       cooperation with this simple request will be an incentive for newer  and
  23.       better versions of this program.
  24.  
  25.  
  26.  
  27.       Although  I have tried to make this program as bug-free as  possible,  I
  28.       will  not  be  liable  for  any  damages  caused,  either  directly   or
  29.       indirectly,  by  the use of this program.  This program  is  distributed
  30.       without warranty, either expressed or implied.
  31.  
  32.  
  33.  
  34.       NOTE:     Throughout this documentation, the term "archive file" is used
  35.                 to describe any file that contains multiple files.   Likewise,
  36.                 the  term "archiving program" is used to describe any  program
  37.                 that creates and/or maintains an archive file.
  38.  
  39.  
  40.  
  41.       If  you encounter any problems while using the program, or if  you  have
  42.       any  suggestions to improve the operation of IFL, you may contact me  at
  43.       any of these bulletin board systems (leave messages to "Silicon Wizard",
  44.       my handle):
  45.  
  46.                 The Pointe BBS                Warp Speed BBS
  47.                 313-885-1779                  313-544-0405
  48.                 300/1200/2400 baud            300/1200/2400 baud
  49.                 24 hours                      8pm to 8am nightly
  50.  
  51.       or drop me a line through the mail to 27825 Hoover, Apt. 4, Warren,  MI,
  52.       48093.   Please  include a self-addressed stamped envelope to  ensure  a
  53.       speedy reply.  Letters that do not include an SASE will not  necessarily
  54.       be ignored; they just won't be replied to as quickly!
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.                                       -- 1 --
  64.  
  65.  
  66.  
  67.       Interior File Listing Utility            11/26/89           Version 1.50
  68.  
  69.  
  70.                        A SHORT HISTORY OF ARCHIVING PROGRAMS
  71.  
  72.       What  exactly  is an archiving program?  It is a program  that  takes  a
  73.       group  of files and stores them into one single file, called an  archive
  74.       file.   Such  an  archiving program may or may not  compress  the  files
  75.       before storing them in the archive file.  (Compression means to read the
  76.       file,  perform mathematical and probability calculations on the data  --
  77.       which  can  be  either  text or binary data --  and  write  a  new  file
  78.       containing the compressed information.)
  79.  
  80.       The first of these kinds of programs originated under the CP/M operating
  81.       system.   They  were LU, SQ and USQ, which stood  for  Library  Utility,
  82.       Squeeze, and Unsqueeze.  LU was a very primitive archiving program:   It
  83.       simply  took files and placed them into an archive file (LU called  them
  84.       "library" files), with no compression performed on the data at all.  The
  85.       SQ program was usually used to compress files before they were stored by
  86.       LU.    (SQ  used  a  method  call  Huffman  encoding  to  compress   the
  87.       information.   USQ,  as  you  may  have  guessed,  simply  reversed  the
  88.       process.)   LU-created  files can usually be identified  by  the  ".LBR"
  89.       extension  (although  this  was not required;  the  .LBR  extension  was
  90.       usually  used to maintain consistency) or the ".LQR" extension  (if  the
  91.       library  file was squeezed AFTER files were stored in it).   For  years,
  92.       the  combination  of LU, SQ and USQ -- and its derivatives --  were  the
  93.       best thing since sliced bread.
  94.  
  95.       When the IBM PC appeared, these programs were, naturally, ported over to
  96.       the   MS-DOS  operating  system.   However,  users  quickly   felt   the
  97.       limitations  of LU, SQ and USQ.  These programs were originally  written
  98.       for  slow  8-bit 8080- and Z80-based systems with a maximum  of  64K  of
  99.       memory; the 16-bit 8088-based IBM PC was faster by comparison, and could
  100.       access  up  to 640K of memory.  Users figured there HAD to be  a  better
  101.       way.
  102.  
  103.       System  Enhancement Associates (SEA) came up with the  better  mousetrap
  104.       with ARC, which essentially combined the functions of LU, SQ, and USQ by
  105.       compressing  files before storing them in the archive file.  Even  here,
  106.       ARC took a different approach, replacing LU's fixed directory (which was
  107.       at  the beginning of each library file) with a "distributive"  directory
  108.       (files  stored in the archive are preceded by a "header" describing  the
  109.       file  in detail).  Over the years, ARC has been improved with more  user
  110.       options and more advanced compression methods (like Dynamic  Lempel-Zev-
  111.       Welch,  or "Crunching"), and has been ported to other operating  systems
  112.       (such as UNIX and VAX).
  113.  
  114.       Unfortunately,  ARC  had  the big problem that plagued  the  early  CP/M
  115.       programs:  It was very slow, especially on 8088-based systems.  To solve
  116.       this, Phil Katz of PKWARE created PKARC, an ARC "clone" that was so fast
  117.       that it began to surpass ARC in popularity.  Later enhancements to PKARC
  118.       also included a Dynamic LZW variant called "Squashing".  The combination
  119.       of all these features catapulted PKARC right to the "top of the charts,"
  120.       as it were.  (PKARC was later renamed to PKPAK.)
  121.  
  122.       SEA  filed  a lawsuit against PKWARE in 1988, charging unlawful  use  of
  123.       ARC's  source code and unfair business practices.  (The details  of  the
  124.  
  125.  
  126.                                       -- 2 --
  127.  
  128.  
  129.  
  130.       Interior File Listing Utility            11/26/89           Version 1.50
  131.  
  132.  
  133.       lawsuit have been discussed elsewhere, so I will not go into them here.)
  134.       The  out-of-court settlement between Phil Katz and SEA ended  production
  135.       of PKARC; unfortunately, it also alienated many users and bulletin board
  136.       system (BBS) operators.  (The feeling was that SEA was trying to "win in
  137.       the courtroom" because it was losing to PKARC in the marketplace.)  That
  138.       action, plus the rapidly-growing shift to PKZIP and LHARC, has  probably
  139.       spelled the end of the ARC format, despite SEA's release of an  improved
  140.       version of ARC.
  141.  
  142.       In  the midst of the scuffle between SEA and PKWARE,  NoGate  Consulting
  143.       released  its own ARC-compatible program called PAK.  PAK uses  an  even
  144.       more  advanced  Dynamic LZW variant dubbed  "Crushing"  (later  versions
  145.       introduced  another compression method, "Distilling", which gives  PKZIP
  146.       and  LHARC a run for their money).  PAK has created a sizable  following
  147.       of  users,  but has not caught on for two reasons:  It  is  slower  than
  148.       PKARC, and the new compression methods, plus the various  "enhancements"
  149.       to  the ARC format, make it incompatible with programs that process  ARC
  150.       files.
  151.  
  152.       After  the lawsuit that ended production of PKARC, PKWARE  introduced  a
  153.       totally  new compression program, PKZIP.  PKZIP, with its enhanced  file
  154.       format  (including a second directory to assist in recovery  of  corrupt
  155.       archives)  and  enhanced compression methods (tighter  than  almost  all
  156.       current  archiving programs), has gained a large  following.   Animosity
  157.       towards  SEA, and the widespread popularity of PKARC, have  also  helped
  158.       tremendously.
  159.  
  160.       Along  with  the main contenders, three other archiving  programs  exist
  161.       that  have  each gained their own following of users:  DWC  by  Dean  W.
  162.       Cooper,  LHARC by Haruyasu Yoshizaki, and ZOO by Rahul Dhesi.   DWC  was
  163.       introduced around the time of ARC's period of popularity, but due to  an
  164.       incompatible  file  format, it was never accepted into  the  mainstream.
  165.       LHARC  is an "import" from Japan (introduced shortly after PKZIP)  which
  166.       uses  a high-performance compression method that occasionally beats  out
  167.       PKZIP for compression size.  ZOO originated on UNIX and VAX systems, and
  168.       has  been  ported to other non-MS-DOS environments as well.  It  is  the
  169.       program of choice for users who need to move files between these various
  170.       environments.
  171.  
  172.       It can become highly confusing, to say the least, to work with all these
  173.       different  formats.  This can be especially nerve-wracking to BBS  users
  174.       and  operators, since BBSes may contain files in any (or ALL!) of  these
  175.       formats.   What is needed is a single program to read them all.   That's
  176.       where IFL comes in.
  177.  
  178.  
  179.  
  180.                                  IFL TO THE RESCUE!
  181.  
  182.       IFL stands for Interior File List, and that's exactly what it does:   It
  183.       produces  a listing of the contents of an archive file.  The syntax  for
  184.       using IFL is very straightforward:
  185.  
  186.                                IFL [options] filename
  187.  
  188.  
  189.                                       -- 3 --
  190.  
  191.  
  192.  
  193.       Interior File Listing Utility            11/26/89           Version 1.50
  194.  
  195.  
  196.       where  "filename" is the name of the archive file you wish to view.   If
  197.       you   do  not  specify  an  extension  with  the  filename,   IFL   will
  198.       automatically  cycle through all the extensions it  supports  (appending
  199.       them  one at a time to the filename) until it finds the file.   At  this
  200.       time, supported extensions include ARC, DWC, LZH, PAK, ZIP and ZOO.  The
  201.       filename  may be preceded by a drive and/or a pathname.  If no  filename
  202.       is specified, a help screen is displayed.
  203.  
  204.       You  may  specify  various  options on the command  line  to  alter  the
  205.       operation of IFL.  These options include:
  206.  
  207.            -B        Normal output from IFL is a color display using direct
  208.                      screen writes (accessing the video memory directly).
  209.                      This method works on 100% IBM compatible systems only.
  210.                      If you are using a system that is not 100% IBM compatible
  211.                      (such as early Sanyo PCs or the Tandy 2000), use this
  212.                      option to force IFL to output text using the BIOS, which
  213.                      ensures total compatibility but is slower than direct
  214.                      screen writes.
  215.  
  216.            -P        When a full screen of text has been displayed, IFL pauses
  217.                      and waits for the user to press a key to continue.  Use
  218.                      this option to override this feature and provide a
  219.                      continuous listing.
  220.  
  221.            -R        This option can be used to force IFL to output text to
  222.                      the standard output device.  Using this option, the
  223.                      output can be rerouted to another device or a file using
  224.                      the ">" redirection symbol (refer to your MS-DOS manual
  225.                      if you are unfamiliar with redirection).  In this mode,
  226.                      color is suppressed and the listing is continuous (no
  227.                      pause after a full screen).  This mode is excellent for
  228.                      implementing IFL in a BBS environment.
  229.  
  230.       The  output from IFL is in the form of a columnar table.  The  following
  231.       information is displayed:
  232.  
  233.       Length         The length of the file when uncompressed, in bytes.
  234.  
  235.       Size Now       The length of the compressed file, in bytes.  This is the
  236.                      number of bytes the file actually take up inside the
  237.                      archive file.
  238.  
  239.       %              The percentage of space saved by compression.
  240.  
  241.       Method         The compression method used to store the file.  Valid
  242.                      methods are listed elsewhere in this manual.
  243.  
  244.       Date and       The date and time of the last modification of the file.
  245.         Time         This is usually not the date and time in which the file
  246.                      was stored.
  247.  
  248.  
  249.  
  250.  
  251.  
  252.                                       -- 4 --
  253.  
  254.  
  255.  
  256.       Interior File Listing Utility            11/26/89           Version 1.50
  257.  
  258.  
  259.       Filename       The name of the stored file.  Note that files in LZH,
  260.                      ZIP and ZOO archives may contain a pathname (indicated by
  261.                      forward slashes "/").
  262.  
  263.       Below the main listing will be displayed total values for all the  files
  264.       displayed.  Shown are totals for length, size now, ratio (overall),  and
  265.       number  of files.  Note that these totals do NOT take into  account  the
  266.       overhead for file headers, the central directory of ZIP archives, or the
  267.       extra information found in "extended" ARC-format archives (such as those
  268.       created by the latest versions of ARC, PKPAK and PAK).
  269.  
  270.  
  271.  
  272.                                 UNSUPPORTED FEATURES
  273.  
  274.       *    Self-extracting archives.
  275.  
  276.       *    Extra  information  stored  in  the  ARC  format.   This   includes
  277.            directories  in  ARC 6.0 archives, pathnames and  comments  in  PAK
  278.            archives, and comments in PKARC archives.  The ARC format was never
  279.            designed for this extended information, and since each of the above
  280.            programs  uses  a different method of storing its  information,  it
  281.            becomes  a real pain to try to support all of it.   Therefore,  IFL
  282.            supports *NONE* of it.
  283.  
  284.       *    Comments stored in PKZIP archives.  The ability to display the main
  285.            ZIP comment may be added in the future.
  286.  
  287.  
  288.  
  289.                                 COMPRESSION METHODS
  290.  
  291.       Below is a list of all the known compression methods that IFL  supports,
  292.       along with the archive formats that use them.  A detailed explanation of
  293.       each compression method is beyond the scope of this manual.
  294.  
  295.       Unknown!       An  unknown  compression method was  encountered.   (ARC,
  296.                      DWC, LZH, PAK, ZIP, ZOO)
  297.  
  298.       ---            The  file is not compressed.  (ARC, DWC, LZH,  PAK,  ZIP,
  299.                      ZOO)
  300.  
  301.       crunched       The  file is compressed using LZW compression (fixed  12-
  302.                      bit).  (ARC)
  303.  
  304.       Crunched       The  file  is compressed using  Dynamic  LZW  compression
  305.                      (code   size  from  9  to  12  bits)   with   repeat-byte
  306.                      compression and adaptive reset.  (ARC, DWC, PAK, ZOO)
  307.  
  308.       Crushed        The  file  is compressed using  Dynamic  LZW  compression
  309.                      (code  size  from  2 to 13 bits)  with  partial  adaptive
  310.                      reset.  (PAK)
  311.  
  312.  
  313.  
  314.  
  315.                                       -- 5 --
  316.  
  317.  
  318.  
  319.       Interior File Listing Utility            11/26/89           Version 1.50
  320.  
  321.  
  322.       Directory      This  is not a compression method, but an indicator of  a
  323.                      subdirectory  stored in an ARC 6.0 archive (which  is  no
  324.                      longer supported by IFL).  (ARC)
  325.  
  326.       Distilled      The  file  is  compressed  using  Huffman/sliding  window
  327.                      compression.  (PAK)
  328.  
  329.       Frozen         The file is compressed using a hybrid of Dynamic LZW  and
  330.                      Huffman compression.  (LZH)
  331.  
  332.       Imploded       The   file   is  compressed   using   Shannon-Fano   tree
  333.                      compression.  (ZIP)
  334.  
  335.       Packed         The  file  is compressed using  repeat-byte  compression.
  336.                      (ARC, PAK)
  337.  
  338.       Reduced #      The  file is compressed using probabilistic  and  repeat-
  339.                      byte  compression.   The "#"  indicates  the  compression
  340.                      level (1-4).  (ZIP)
  341.  
  342.       Shrunk         The  file  is compressed using  Dynamic  LZW  compression
  343.                      (code size of 9 to 13 bits) with partial adaptive  reset.
  344.                      (ZIP)
  345.  
  346.       Squashed       The  file  is compressed using  Dynamic  LZW  compression
  347.                      (code  size of 9 to 13 bits) with adaptive reset.   (ARC,
  348.                      PAK)
  349.  
  350.       Squeezed       The  file  is compressed using Huffman  encoding.   (ARC,
  351.                      PAK)
  352.  
  353.  
  354.  
  355.                                    ERROR MESSAGES
  356.  
  357.       Listed below are all the error messages produced by IFL.  If you receive
  358.       an  error while using IFL, check this list for the probable cause.
  359.  
  360.       "Archive format not supported"
  361.  
  362.            The specified file is not in a format that IFL can process.  Either
  363.            the file was created with an unsupported archiving program, or  the
  364.            file is a self-extracting archive (which IFL does not support).
  365.  
  366.       "Can't access file 'filename'"
  367.  
  368.            IFL  could  not, for some reason, access the specified  file.   The
  369.            file  may  not  exist  on the disk, or  some  other  error  may  be
  370.            preventing IFL from accessing the file.
  371.  
  372.       "Can't read archive file"
  373.  
  374.            IFL  encountered an error while reading the archive file.   (Pretty
  375.            straightforward, eh?!)
  376.  
  377.  
  378.                                       -- 6 --
  379.  
  380.  
  381.  
  382.       Interior File Listing Utility            11/26/89           Version 1.50
  383.  
  384.  
  385.       "Invalid ARC header ID"
  386.       "Invalid LZH header ID"
  387.       "Invalid ZIP header ID"
  388.       "Invalid ZOO header ID"
  389.  
  390.            Each  entry  in  an  archive file is  preceded  by  a  header  that
  391.            identifies the file, and includes such information as the filename,
  392.            the compressed and uncompressed length, the date and time, etc.  If
  393.            this  header  is not in the place that IFL expects it,  or  if  the
  394.            header   contains  invalid  information,  this  error  message   is
  395.            displayed.
  396.  
  397.  
  398.  
  399.  
  400.  
  401.  
  402.  
  403.  
  404.  
  405.  
  406.  
  407.  
  408.  
  409.  
  410.  
  411.  
  412.  
  413.  
  414.  
  415.  
  416.  
  417.  
  418.  
  419.  
  420.  
  421.  
  422.  
  423.  
  424.  
  425.  
  426.  
  427.  
  428.  
  429.  
  430.  
  431.  
  432.  
  433.  
  434.  
  435.  
  436.  
  437.  
  438.  
  439.  
  440.  
  441.                                       -- 7 --
  442.  
  443.